#ifndef __GD32E23x_HAL_TEST_KEY_H__
#define __GD32E23x_HAL_TEST_KEY_H__

#include <stdint.h>

typedef enum {
    TEST_NO_KEY_PRESS = 0,      //无按键按下
    TEST_UP_KEY_PRESS,          //上按键按下
    TEST_DOWN_KEY_PRESS,        //下按键按下
}TEST_KEY_TYPE_E;

#define TEST_KEY_UP_PIN              GPIO_Pin_1   
#define TEST_KEY_DOWN_PIN            GPIO_Pin_2
#define TEST_MODE_KEY_PIN            GPIO_Pin_0

#define TEST_KEY_RCU                 RCC_AHBPeriph_GPIOB
#define TEST_KEY_BASE                GPIOB

typedef struct {
    void (*init)(void);         ///< 初始化
    uint8_t (*test_mode)(void); ///< 测试模式
	uint8_t (*key_up)(void);	///< 上行按键
	uint8_t (*key_down)(void);	///< 下行按键
}test_key_t;

extern const test_key_t g_test_;

#endif //__GD32E23x_HAL_TEST_KEY_H__
